From 38b0f1135b248d2fefc92d66dc8a0e8dc9cb73b9 Mon Sep 17 00:00:00 2001 From: kokke Date: Mon, 15 Dec 2014 21:18:25 +0100 Subject: Update aes.h --- aes.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/aes.h b/aes.h index eae5bb2..708a09c 100644 --- a/aes.h +++ b/aes.h @@ -3,7 +3,38 @@ #include + +// #define the macros below to 1/0 to enable/disable the mode of operation. +// +// CBC enables AES128 encryption in CBC-mode of operation and handles 0-padding. +// ECB enables the basic ECB 16-byte block algorithm. Both can be enabled simultaneously. + +// The #ifndef-guard allows it to be configured before #include'ing or at compile time. +#ifndef CBC + #define CBC 1 +#endif + +#ifndef ECB + #define ECB 1 +#endif + + + +#if defined(ECB) && ECB + void AES128_ECB_encrypt(uint8_t* input, const uint8_t* key, uint8_t *output); void AES128_ECB_decrypt(uint8_t* input, const uint8_t* key, uint8_t *output); +#endif // #if defined(ECB) && ECB + + +#if defined(CBC) && CBC + +void AES128_CBC_encrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); +void AES128_CBC_decrypt_buffer(uint8_t* output, uint8_t* input, uint32_t length, const uint8_t* key, const uint8_t* iv); + +#endif // #if defined(CBC) && CBC + + + #endif //_AES_H_ -- cgit v1.2.3